// miniprogram/pages/NX_joinProject/joinProject.js
const db = wx.cloud.database()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    inviter: null,
    projectId: null,
    group: null,
    inviterInfo: null,
    loaded: false,
    confirmed: false,
    hasIn: false,
    overtime: false
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function(options) {
    this.setData({
      ...options
    })
    wx.setNavigationBarTitle({
      title: ''
    })
    const today = Date.parse(new Date().toLocaleDateString()) + 1000 * 60 * 60 * 24;
    if (+options.time + 7 * 1000 * 60 * 60 * 24 < today) this.setData({
      overtime: true
    })
    //抓取任务数据
    Promise.all(
        [
          db.collection('group').doc(options.projectId).get().then(res => {
            this.setData({
              group: res.data
            })
          }),
          //抓取邀请者信息
          db.collection('user').doc(options.inviter).get().then(res => {
            this.setData({
              inviterInfo: res.data
            })
          }),
          //检查用户是否在组内
          db.collection('code').where({
            userId: getApp().globalData.userInfo.userId,
            group: options.projectId
          }).count().then(res => {
            if (res.total > 0) {
              this.setData({
                hasIn: true
              })
            }
          })
        ])
      .then(() => {
        this.setData({
          loaded: true
        })
      })
  },
  joinIn() {
    this.setData({
      confirmed: true
    })
    wx.cloud.callFunction({
      name: 'confirmJoinGroup',
      data: {
        userId: getApp().globalData.userInfo.userId,
        groupId: this.data.projectId,
        isLeader: false,
        invite: true,
        inviter: this.data.inviter
      }
    }).then(() => {
      this.setData({
        confirmed: false
      })
      wx.navigateBack({
        delta: 1
      })
    }).catch(err => {
      console.log(err);
      this.setData({
        confirmed: false
      })
      wx.showToast({
        title: '发生错误 请重试',
        icon: 'none'
      })
    })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function() {

  }
})